V-cal: A Calculus for the Compilation of Data Parallel Languages

نویسندگان

  • P. F. G. Dechering
  • J. A. Trescher
  • J. P. M. de Vreught
  • Henk J. Sips
چکیده

V-cal is a calculus designed to support the compilation of data parallel languages that allows to describe program transformations and optimizations as semantics preserving rewrite rules. In V-cal the program transformation and optimization phase of a compiler is organized in three independent passes: in the rst pass a set of rewrite rules are applied that attempt to identify the potential parallelism of an algorithm. In the second pass program parts amenable to parallelization or algorithm substitution are replaced by their semantically equivalent parallel counterparts. Finally, a set of rules are applied that map the parallelized program to the target architecture in a way that makes eecient use of the given resources. Data parallel languages provide a programming model that abstracts from parallelism, communication, and synchronization. To b e a b l e t o e x-press optimizing transformations in V-cal parallelism, communication, and synchronization are made explicit by the means of dedicated operators that represent these concepts in a machine independent way. In this paper we describe the operators and transformation rules that allow to implement the rst two passes of a V-cal engine. We s h o w that our approach leads to a exible compiler design that allows to experiment with diierent optimization strategies and heuristics.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Formal Approach to the Compilation of Data-Parallel Languages

In this paper we describe an approach to the compilation of data-parallel programming languages based on a formally deened intermediate language, called V-cal. The calculus V-cal was designed to represent the semantics of data management and control primitives found in data-parallel languages and allows to describe program transformations and optimizations as semantics preserving rewrite rules....

متن کامل

Compiling Functional Code for System-Level Environment

Compilation of programming languages based on λ–calculus to standalone, low-level machine code involves a challenge of removing automatic memory management that is usually required for supporting implicit allocations produced by currently available compilers. We propose a compilation approach that is able to convert pure, lazily-evaluated functional code to machine code suitable for running on ...

متن کامل

An E cient Compilation Framework for Languages Based on Concurrent Process Calculus

We propose a framework for compiling programming languages based on concurrent process calculi, in which any computation is expressed by a combination of processes and communication channels. Our compilation framework realizes a fast dynamic process creation and a low-cost communication between processes. In the framework, a representation of a channel is not allocated in heap, but just put on ...

متن کامل

cient Compilation of High - Level Data Parallel

We present a high-level parallel calculus for nested sequences, NSC, ooered as a possible theoretical \core" of an entire class of collection-oriented parallel languages. NSC is based on while-loops as opposed to general recursion. A formal, machine independent deenition of the parallel time complexity and the work complexity of programs in NSC is given. Our main results are: (1) We give a tran...

متن کامل

Parallel computing using MPI and OpenMP on self-configured platform, UMZHPC.

Parallel computing is a topic of interest for a broad scientific community since it facilitates many time-consuming algorithms in different application domains.In this paper, we introduce a novel platform for parallel computing by using MPI and OpenMP programming languages based on set of networked PCs. UMZHPC is a free Linux-based parallel computing infrastructure that has been developed to cr...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995